package com.flyme.module.base.provider.service;

import com.flyme.core.base.supper.service.IBaseService;
import com.flyme.module.base.client.entity.SystemMenu;

import java.util.List;

/**
 * 菜单资源
 * @author zyf
 */
public interface SysMenuService extends IBaseService<SystemMenu> {






    /**
     * 检查菜单编码是否存在
     *
     * @param menuCode
     * @return
     */
    Boolean isExist(String menuCode);


    /**
     * 添加菜单资源
     *
     * @param menu
     * @return
     */
    Boolean addMenu(SystemMenu menu);

    /**
     * 修改菜单资源
     *
     * @param menu
     * @return
     */
    Boolean updateMenu(SystemMenu menu);

    /**
     * 更新启用禁用
     *
     * @param menuId
     * @param status
     * @return
     */
    Boolean updateStatus(Long menuId, Integer status);

    /**
     * 移除菜单
     *
     * @param menuId
     * @return
     */
    Boolean removeMenu(Long menuId);
    /**
     * 构建前端路由数据
     *
     * @param userId
     * @return
     */
    List<SystemMenu> selectMenuByUserId(Long userId);

    /**
     * 查询全部菜单
     * @return
     */
    List<SystemMenu> selectMenu(Long roleId);
}
